#include <iostream>
#include <string>
#include <vector>

// Couleur possible des joueurs
typedef enum Couleur { 
	ROUGE, 
	BLEU, 
	JAUNE, 
	VERT_F, 
	VIOLET, 
	ORANGE, 
	ROSE, 
	VERT_C
} Couleur;


class Camp
{
	private :

		std::string nom;
		std::vector<Territoire *> territoires;
		Etat etat;
		Couleur couleur;


	public :
		
		/*
		 * Renvoie le nombre de des a deployer 
		 * Soit "nombre MAX de territoire possede adjancent
		 */
		int nbDesADeploi() const;

		/*
		 * Renvoie le nombre de territoire possede
		 */
		int nbTerritoire() const;
		int nbMaxTerritoireAdjacent() const;

		/*
		 * Renvoie si on est en vie ou pas
		 */
		bool enVie() const;

		/*
		 * Renvoie si le territoire le territoire appartient au Camp
		 */
		bool appartient(Territoire * t) const;

		void setNom(std::string s);
		std::string getNom() const;

		/*
		 * Passe a l'etat suivant :
		 * SPECTATEUR -> DEPLOI -> COMBAT -> DEPLACEMENT -> SPECTATEUR
		 */
		void changerEtat();
		void setEtat(Etat etat);
		Etat getEtat() const;

		void setCouleur(Couleur c);
		Couleur getCouleur() const;

};
